/**********************************************************************************************/
// Summator.cpp
//
// Summator elements
// Copyright Diamant Group 2007
/**********************************************************************************************/
#include "Summator.h"


/**********************************************************************************************/
#ifdef _MANAGED
#pragma managed(push, off)
#endif


/**********************************************************************************************/
BOOL APIENTRY DllMain( HMODULE hModule,
					  DWORD  ul_reason_for_call,
					  LPVOID lpReserved
					  )
{
	pInstance = new dgt_Summator();

	return TRUE;
}


DGTEXPORT dgt_Plugin* GetPlugin( void )
{
	return pInstance;
}

/**********************************************************************************************/
/**********************************************************************************************/
dgt_Summator::dgt_Summator()
{

}

/**********************************************************************************************/
dgt_Summator::~dgt_Summator()
{

}

/**********************************************************************************************/
void dgt_Summator::GetPluginInfo( dgt_PluginInfo& t_Info )
{
	t_Info.m_PluginName = _T("Summator elements");
	t_Info.m_PluginType = PLUGIN_OPERATION;
	t_Info.m_Description = _T("Abstract description of Summator elements");
	t_Info.m_Version = _T("BETA");
}

/**********************************************************************************************/
dgt_Element_Ptr dgt_Summator::get_Element(int inNum)
{
	dgt_Element_Ptr tElement;

	switch( inNum )
	{
	case 0:
		{
			tElement.set( new dgt_Generic4_Sum() );
		}
	}

	return tElement;
}

/**********************************************************************************************/
unsigned long dgt_Summator::get_ElementCount()
{
	return 1;
}

/**********************************************************************************************/
#ifdef _MANAGED
#pragma managed(pop)
#endif
